使用三目运算符三个数找最大值(C语言) | 您所在的位置:网站首页 › c语言 比较三个数最大值 › 使用三目运算符三个数找最大值(C语言) |
一、宏定义
#include
#define getmax(a,b,c) a>b?(a>c?a:c):(b>c?b:c)
int main()
{
float a,b,c,max;
scanf("%f%f%f",&a,&b,&c);
printf("%.3f",getmax(a,b,c));
return 0;
}
二、函数
#include
void getmax(float a,float b,float c)
{
float max;
max=a>b?(a>c?a:c):(b>c?b:c);
printf("%.3f\n",max);
}
int main()
{
float a,b,c,max;
scanf("%f%f%f",&a,&b,&c);
getmax(a,b,c);
return 0;
}
三、解析
a>b?(a>c?a:c):(b>c?b:c) 首先a与b比较; 如果a>b成立,则较大的值为a,执行":"前的式子(a>c?a:c),进行a与c比较; 如果a>c成立,则返回较大的值a,如果不成立则返回较大的值c; 如果a>b不成立,则较大的值为b,执行":"后的式子(b>c?b:c),进行b与c比较; 如果b>c成立,则返回较大的值b,如果不成立则返回较大的值c; 通过这两次双目运算,最终返回三个数最大的值。 |
CopyRight 2018-2019 实验室设备网 版权所有 |